Android JSONObject 与 GSON
全部标签 我想为特定字段或类序列化null。在GSON中,选项serializeNulls()适用于整个JSON。例子:classMainClass{publicStringid;publicStringname;publicTesttest;}classTest{publicStringname;publicStringvalue;}MainClassmainClass=newMainClass();mainClass.id="101"//mainClasshasnoname.Testtest=newTest();test.name="testName";test.value=null;mai
我在GSON中遇到了一些奇怪的行为。如果我有以下类结构:publicinterfaceAnimal{publicvoidnothing();}publicclassCatimplementsAnimal{privateStringname;publicCat(Stringname){super();this.name=name;}publicCat(){}@Overridepublicvoidnothing(){//TODOAuto-generatedmethodstub};}publicclassDogimplementsAnimal{privateStringname;public
我有一个具有这种结构的用户对象:classUser{privateStringid;privateStringname;privateMapproperties;//GETTERS&SETTERS}我有一个具有这种结构的JSON字符串:{"user":{"id:"123456789","name:"azerty","emailHash":"123456789",//notusedinUserclass"properties":{"p1":1,"p2":"test","p3":[1,2,3,4],"p4":{etc...}}}}属性的键是字符串,属性的值可以是字符串、整数、数组、bool
有人可以提出为什么会这样吗...我有一些代码可以漂亮地打印一些JSON。为此,我使用了Gsonlibrary。.然而,虽然这样通常效果很好,但有些字符似乎无法正确显示。这是演示问题的一段简单代码://CreatingtheJSONobject,andgettingasString:JsonObjectjson=newJsonObject();JsonObjectinner=newJsonObject();inner.addProperty("value","xpath('hello')");json.add("root",inner);System.out.println(json.t
我在我的项目中使用Gson将JSON字符串反序列化为Java对象。如果我发出请求,我希望服务器能给出定义明确的响应。服务器将返回我期望的明确定义的响应,或者它会返回一个(同样定义的)错误对象。为了清楚起见:假设我有一个像这样的简单对象:classDummy{privateStringfoo;privateintbar;}和这样的错误对象:classErrorHolder{privateRequestErrorerror;}classRequestError{privateStringpublicMsg;privateStringmsg;}如果我得到像这样的服务器响应{"foo":"He
我在使用GsonBuilder注册多个类型适配器时遇到问题。似乎只有一个会开火,而从不考虑第二个。如果我单独对每一个进行处理,它似乎工作正常。但我需要他们与两者一起工作,似乎我做错了什么。另外,我目前正在使用GSONv2.2.4。Zip对象简单形式:publicclassZip{privateStringzipCode;privateStringcity;privateStringstate;publicZip(){}}ZipSerializer:publicclassZipSerializerimplementsJsonSerializer{@OverridepublicJsonEl
下面的示例显示了一个包含抽象类(成员)集合的类(俱乐部)。我对是否需要TypeAdapter或JsonDeserializer来使反序列化正常工作感到困惑。序列化在没有任何帮助的情况下工作得很好,但反序列化会抛出异常。为了说明,我构建了以下“克隆”测试。如果有人能展示一个工作示例,我将不胜感激。头等舱packagegson.test;importjava.util.ArrayList;importcom.google.gson.Gson;publicclassClub{publicstaticvoidmain(String[]args){//SetupaClubwith2members
我想根据type字段值将json对象反序列化为特定类型的对象(使用Gson库),例如:[{"type":"type1","id":"131481204101","url":"http://something.com","name":"BLAHBLAH","icon":"SOME_STRING","price":"FREE","backgroundUrl":"SOME_STRING"},{....}]因此type字段将具有不同(但已知)的值。基于该值,我需要将该json对象反序列化为适当的模型对象,例如:Type1Model、Type2Model等。我知道我可以在反序列化之前轻松地做到这
我正在尝试解析一个jsonObject但似乎无法得到它,这就是我得到的。json=(jsondata)JsonParserparser=newJsonParser();JsonObjectrootObj=parser.parse(json).getAsJsonObject();JsonObjectpaymentsObject=rootObj.getAsJsonObject("payments");for(JsonObjectpa:paymentsObject){StringdateEntered=pa.getAsJsonObject().get("date_entered").toSt
我已经将GSON作为Java中的JSON解析器,但key并不总是相同的。例如。我有以下JSON:{"TheObjectIalreadyknow":{"key1":"value1","key2":"value2","AnotherObject":{"anotherKey1":"anotherValue1","anotherKey2":"anotherValue2"}}我已经得到了JSONObject“我已经知道的对象”。现在我需要获取此对象的所有JSONElements,这将是“Key1”、“Key2”和“AnotherObject”。提前致谢。编辑:输出应该是一个字符串数组,其中包含J